package com.iris.live.services.data.models;

import com.fasterxml.jackson.annotation.JsonProperty;

import javax.persistence.*;
import java.sql.Timestamp;

/**
 * Created by xin on 2016/7/13.
 */
@SuppressWarnings("JpaDataSourceORMInspection")
@Embeddable
@Table(name = "报价订单流程表", schema = "sg_lsh", catalog = "")
public class 报价订单流程表Model {
    private Integer 报价编号;
    private String 操作人;
    private String 当前状态;
    private Timestamp 更新时间;

    @Basic
    @Column(name = "报价编号")
    @JsonProperty("报价编号")
    public Integer get报价编号() {
        return 报价编号;
    }

    public void set报价编号(Integer 报价编号) {
        this.报价编号 = 报价编号;
    }

    @Basic
    @Column(name = "操作人")
    @JsonProperty("操作人")
    public String get操作人() {
        return 操作人;
    }

    public void set操作人(String 操作人) {
        this.操作人 = 操作人;
    }

    @Basic
    @Column(name = "当前状态")
    @JsonProperty("当前状态")
    public String get当前状态() {
        return 当前状态;
    }

    public void set当前状态(String 当前状态) {
        this.当前状态 = 当前状态;
    }

    @Basic
    @Column(name = "更新时间")
    @JsonProperty("更新时间")
    public Timestamp get更新时间() {
        return 更新时间;
    }

    public void set更新时间(Timestamp 更新时间) {
        this.更新时间 = 更新时间;
    }

    @PrePersist
    @PreUpdate
    public void onPreUpdate() {
        this.set更新时间(new Timestamp(System.currentTimeMillis()));
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        报价订单流程表Model that = (报价订单流程表Model) o;

        if (报价编号 != null ? !报价编号.equals(that.报价编号) : that.报价编号 != null) return false;
        if (操作人 != null ? !操作人.equals(that.操作人) : that.操作人 != null) return false;
        if (当前状态 != null ? !当前状态.equals(that.当前状态) : that.当前状态 != null) return false;
        if (更新时间 != null ? !更新时间.equals(that.更新时间) : that.更新时间 != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = 报价编号 != null ? 报价编号.hashCode() : 0;
        result = 31 * result + (操作人 != null ? 操作人.hashCode() : 0);
        result = 31 * result + (当前状态 != null ? 当前状态.hashCode() : 0);
        result = 31 * result + (更新时间 != null ? 更新时间.hashCode() : 0);
        return result;
    }
}
